package com.test2;

import java.util.ArrayList;
import java.util.List;

import com.entity.UserEntity;

public class Main {
	
   public static void main(String[] args) {
	// 1.初始化用户数据
			List<UserEntity> listUserEntity = init();
			// 2.计算创建创建多少个线程并且每一个线程需要执行“分批发送短信用户”
			// 每一个线程分批跑多少
			int userThreadPage = 50;
			// 计算所有线程数
			//每一个线程处理50 计算需要几个线程 使用分页的逻辑
			List<List<UserEntity>> splitUserList = ListUtils.splitList(listUserEntity, userThreadPage);
			int threadSaze = splitUserList.size();//得到需要几个线程来处理
			for (int i = 0; i<threadSaze; i++) {
				List<UserEntity>list = splitUserList.get(i);
				//创建线程  把每一个执行的集合传递进去
				UserThread userThread = new UserThread(list);
				// 3.执行任务发送短信
				userThread.start();
			}

 }
   /****
    * 初始化数据
    * @return
    */
   public static List<UserEntity> init() {
		List<UserEntity>list = new ArrayList<UserEntity>();
		for (int i = 1; i<= 140; i++) {
			UserEntity userEntity = new UserEntity();
			userEntity.setUserId("userId" + i);
			userEntity.setUserName("userName" + i);
			list.add(userEntity);
		}
		return list;

	}
}
